Electronic devices, including integrated circuits (ICs) and computer systems, can produce enough heat during their operation to cause malfunctions. Modern electronic devices typically require cooling fans to remove heat and reduce operating temperatures. Computer systems today typically use one or more cooling fans to cool microprocessors, power supplies, other components within a computer chassis, etc. Cooling fans used in computer systems can be controlled by the computer system. These fans can be turned on and off at certain times, and the computer system can regulate their speed to reduce noise or increase airflow as necessary. One significant disadvantage of cooling fans is noise. While the ICs and other components that comprise computer systems tend to be silent in their operation, it is the cooling fans that create noise.
A cooling fan typically comprises an electric motor coupled with one or more fan blades. The motor may be driven using any one of several different types of electronic signals. For example, the motor may be a direct current (DC) motor that can be driven by an analog DC signal. FIG. 1A illustrates a constant 2.5-volt analog DC signal. The graph 10 shows a voltage over time. The analog signal 12 drives the cooling fan using a constant 2.5-volts. If a fan is driven using a signal 12, the fan will rotate at a constant speed, for example, 1000 revolutions per minute (RPM). The actual speed of a fan at a given voltage will depend on the motor design. The fan speed can be increased by increasing the voltage driving the fan, or the fan speed can be reduced by reducing the voltage driving the fan. For example, if the same fan were driven at 1.25-volts, the fan might rotate at a constant 500 RPM.
The signal 12 is an analog signal that can have an infinitely variable value. In some instances is may be desirable to use a digital signal to drive the fan. A digital signal can be generated by the computer system directly without having to use additional circuitry to output an analog signal. FIG. 1B illustrates an outputted digital high signal. A binary digital signal may only have two values: a logical “high” or a logical “low.” For example, the logical high value may be 5-volts, while the logical low value may be O-volts or ground. The outputted signal 22 as shown in the graph 20 is a logical high signal, or 5-volts. So, using the same fan as above, if the fan were powered by a logical high signal, the fan would rotate at a speed of 2000 RPM. Unfortunately, the speed would be invariable, since the fan would either not turn or rotate at 2000 RPM, since the only possible outputs of a digital signal are high or low.
If a user wishes to drive the fan at a speed between the full speed at five volts and zero RPM using a digital signal, the user can use a pulse width modulation (PWM) signal. FIG. 1C illustrates a pulse width modulation signal. A PWM signal is a digital signal that varies over time, normally varying by the length of time in which the signal remains in a high or low state. For example, a PWM signal might go high for five milliseconds, then low for five milliseconds, then high again for another five milliseconds, etc. By switching between the high and low signal, an average voltage between that of the low and the high signal can be obtained. In the previous example, the fan would be driven at a 50% duty cycle, or 50% of the high value, or 2.5-volts. The graph 30 shows an outputted PWM signal 32 that can be used to drive a cooling fan. If the computer system driving the cooling fan uses a 5-volt signal for a digital high signal, then the PWM signal 32 will effectively drive the cooling fan as if it were a 2.5-volt analog signal, such as analog signal 12. The PWM signal 32 is operating at a 50% duty cycle. The PWM signal 32 can be modified so that it drives a cooling fan at any speed by changing the amount of time that the signal is high. For example, the signal 32 could be high for 3 cycles and low for 1 cycle, which would result in a 75% duty cycle, or approximately 3.75 volts. Thus, if a cooling fan driven at five volts were rotating at 2,000 RPM, the cooling fan driven by the PWM signal 32 would operate at 1000 RPM, and a fan being driven by the 75% PWM signal would operate at 1500 RPM. A digital system can easily control this output to change the speed of the cooling fans at any time without using cumbersome analog circuits.
Often it is not necessary to run fans at their full operational speed, and a computer system can determine the airflow needed using chassis thermometers. Running fans at excessive speeds not only unnecessarily consumes energy, which can be critical in portable computer applications that have limited battery life, but also creates excessive noise, which can be annoying to users. A signal applied to a fan to run it at a low speed may be insufficient to start the fan, because the static friction at the fan spindle may be too high to overcome at a low speed. Therefore, computer systems typically start cooling fans by driving the fan at a 100% duty cycle, or maximum speed, to overcome the static friction. However, running a fan at full speed is very noisy and can be unsettling, especially when a fan is started after a long period of inactivity. Also, PWM signals driving fans can cause clicking and chatter in the fan because the PWM signal may cause a fan motor to switch at inefficient times, therefore rocking the motor along the fan spindle.
Fan speed sensors, such as tachometers or Hall Effect sensors, are often attached to cooling fans to monitor their status. However, these fan speed sensors typically are powered using a high logical signal, or a 100% PWM signal. Therefore, fan speed sensors must typically be powered independently of the remainder of the fan, which requires extra wiring. This extra wiring can create unnecessary complexity and increased battery consumption because the sensor is always on, even though a sensor reading is not always needed.